package com.ccmusic.service.impl;

import java.util.List;

import com.ccmusic.dao.MatchingDao;
import com.ccmusic.dao.impl.MatchingDaoImpl;
import com.ccmusic.entity.Matching;
import com.ccmusic.entity.Music;
import com.ccmusic.entity.MusicType;
import com.ccmusic.service.MatchingService;
import com.ccmusic.util.DatatablesBean;

public class MatchingServiceImpl implements MatchingService {

	// 声明一个数据库操作类
	private MatchingDao matchDao = new MatchingDaoImpl();

	/**
	 * 添加用户-歌曲匹配关系
	 * 
	 * @param matching
	 *            用户-歌曲匹配对象
	 * @return 添加成功返回true；添加失败返回false
	 */
	@Override
	public boolean addMatching(Matching matching) {
		return matchDao.addMacthing(matching);
	}

	/**
	 * 获取用户-歌曲匹配关系
	 * 
	 * @param uid
	 *            索要获取歌曲集合拥有者的用户id
	 * @return 返回所有与用户匹配的歌曲集合
	 */
	@Override
	public List<Matching> getMatchingsByUid(String uid) {
		return matchDao.getMatchingsByUid(uid);
	}

	/**
	 * 移除用户-歌曲匹配关系
	 * 
	 * @param matching
	 *            用户-歌曲匹配关系
	 * @return 移除成功返回true；移除失败返回false
	 */
	@Override
	public boolean removeMatching(Matching matching) {
		return matchDao.removeMatching(matching);
	}

	@Override
	public DatatablesBean<MusicType> getMusicCollectionByUid(String uid) {
		List<MusicType> data = matchDao.getMusicCollectionByUid(uid);
		DatatablesBean<MusicType> dtb = new DatatablesBean<>(data);
		return dtb;
	}

	/**
	 * 根据音乐id删除用户所匹配的特定歌曲
	 * 
	 * @param mid
	 *            音乐id
	 * @return 删除成功时返回true；删除失败时返回false
	 */
	@Override
	public boolean delMatchingByMid(String mid) {
		return matchDao.removeMatchingByMid(mid);
	}

	@Override
	public boolean getMatching(int uid, int mid) {

		return matchDao.getMatching(uid, mid);
	}

}
